Model based techniques may be used for generating tests for verifying the behavior of a computing system. Traditionally, a model includes a set of attributes in addition to values for the attributes and corresponding restrictions on said values or value combinations. The set of valid value combinations defines the space to be tested. In a test design that is based on Cartesian product modeling, the test space is selected so that it covers all possible combinations of n number of variables that are not ruled out by restrictions.
The size of a Cartesian product based model is the product of the number of values for each attribute (i.e., A1*A2* . . . *An), where An represents the number of valid values for the nth attribute. One would appreciate that the size of the model can become prohibitively large, depending on the number of attributes, the possible number of values assigned to each attribute and the restrictions used to define complex attribute relationships. A test planning scheme is desirable that helps select a subset of tests in a test suite that effectively and efficiently cover the interesting test scenarios.